/*
#include<stdio.h>
#include<string.h>
#include<stdbool.h> 
#define N 500010

char str1[N];
char str2[N];
int n,q,len1,len2;
bool s;

int main()\
{
	scanf("%d%d",&n,&q);
	scanf("%s",str2+1);
	len1=0;
	len2=strlen(str2+1);
	while(q--)
	{
		int a,b;
		scanf("%d%d",&a,&b);
		if(a==1)
		{
			b%=n;
			if(len2-b!=1&&!s)
			{
				len2-=b;
				strcpy(str1+len1+1,str2+(len2+1));
				len1+=b;
				//str1[++len1]=str2[len2--];
				if(len2==0)
				{
					s=true;
				}
			}
			else if(len1-b!=1&&s)
			{
				len1-=b;
				strcpy(str2+len2+1,str1+len1+1);
				len2+=b;
				//str2[++len2]=str1[n-(--len1)];
				if(len1==0)
				{
					s=false;
				}
			}
			//printf("str1=%s\n",str1+1);
			//printf("str2=%s\n",str2+1);
		}
		if(a==2)
		{
			if(s)
			{
				if(b<=len2)
				{
					printf("%c\n",str2[b]);
				}
				else
				{
					//printf("%c\n",str1[n-(b-len2)+1]);
					printf("%c\n",str1[b-len2]);
				}
			}
			else
			{
				if(b<=len1)
				{
					//printf("%c\n",str1[len1-b+1]);
					printf("%c\n",str1[b]);
				}
				else
				{
					printf("%c\n",str2[b-len1]);
				}
			}
		}
	}
	return 0;
}
*/


#include<stdio.h>
#define N 100010

typedef long long LL;

LL t,n,k,b;
LL s;
LL num[N];

int main()
{
	LL res;
	scanf("%lld",&t);
	while(t--)
	{
		scanf("%lld%lld%lld%lld",&n,&k,&b,&s);
		if((s+n)/k<=(b+n)&&s>=b*k)
		{
			num[0]=b*k;
			res=s-b*k;
			for(int i=1;i<n;i++)
			{
				if(res>=k-1)
				{
					num[i]=k-1;
				}
				else if(res>=0)
				{
					num[i]=res;
				}
				res-=num[i];
			}
			if(res>0)
			{
				num[0]+=res;
			}
			for(int i=0;i<n;i++)
			{
				printf("%lld ",num[i]);
			}
			printf("\n");
		}
		else
		{
			printf("-1 \n");
		}
	}
	return 0;
}

















